package com.ocom.jobhandler.feign;

import com.ocom.common.constant.PayConfigUrl;
import com.ocom.common.constant.PayHandleUrl;
import com.ocom.common.dto.TimerPaymentCallBackDto;
import com.ocom.common.request.payconfig.BatchForecastOrderRequest;
import com.ocom.common.resp.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

@FeignClient(value = "payhandle")
public interface PayoperFeignService {

    //定时任务处理支付中的订单
    @GetMapping(PayHandleUrl.URL_paymentTiming)
    public void paymentTiming(@RequestParam("consState") Integer consState);

    //定时任务处理支付中的订单
    @GetMapping(PayHandleUrl.URL_ABCPaymentTimings)
    public void ABCPaymentTimings();

    @PostMapping(PayHandleUrl.getZkzlTimer)
    public void zkzlTimerPaymentCallBack(TimerPaymentCallBackDto dto);

    @GetMapping(PayHandleUrl.URL_syncRefundOrder)
    public Result syncRefundOrder() ;

    @PostMapping(PayHandleUrl.URL_syncMqFailOrder)
    public Result syncMqFailOrder(@RequestParam("day") String day);

    @GetMapping(PayHandleUrl.URL_delayPay)
    public Result delayPay();

    @GetMapping(PayHandleUrl.URL_cancelDelayPay)
    public Result cancelDelayPay();

    //厦门优惠导致第一笔退款
    @GetMapping(PayHandleUrl.URL_xmDiscountRefund)
    public Result xmDiscountRefund();


    @GetMapping(PayHandleUrl.URL_timerTransportOrder)
    public Result timerTransportOrder() ;

    @PostMapping(PayConfigUrl.URL_batchForecastOrder)
    public Result batchForecastOrder(@RequestBody BatchForecastOrderRequest batchForecastOrderRequest);
}
